package com.fdb.efp.cus.service.dao;

import com.fdb.efp.cus.service.domain.PersonalWhiteList;
import com.fdb.efp.cus.service.vo.PersonalWhiteListVO;

import java.util.List;
import com.fdb.efp.cus.service.vo.PersonalWhiteDeleteExcelVO;
import org.apache.ibatis.annotations.Param;

/**
 * DAO Interface:
 *
 * @author gcb
 * @date 2020-07-31
 */
public interface PersonalWhiteListDao {
    /**
     * 新增数据
     *
     * @param personalWhiteList
     * @return
     */
    public int insert(PersonalWhiteList personalWhiteList);

    /**
     * 根据主键删除信息
     *
     * @param personalWhiteList
     * @return
     */
    public int deleteByPk(PersonalWhiteList personalWhiteList);

    /**
     * 根据主键更新信息
     *
     * @param personalWhiteList
     * @return
     */
    public int updateByPk(PersonalWhiteList personalWhiteList);

    /**
     * 根据主键查询详情
     *
     * @param personalWhiteList
     * @return
     */
    public PersonalWhiteList queryByPk(PersonalWhiteList personalWhiteList);

    /**
     * 根据条件查询个人白名单
     * @param personalWhiteListVO
     * @return
     */
    public List<PersonalWhiteList> queryPWhiteListByCondition(PersonalWhiteListVO personalWhiteListVO);

    public List<PersonalWhiteList> queryAllListByPage(PersonalWhiteList personalWhiteList);

    public int batchDeleteByCode(@Param("certCodeList") List<String> certCodeList);

    public int updateSetDt(PersonalWhiteListVO personalWhiteListVO);

    public List<PersonalWhiteList> queryConditions(PersonalWhiteList personalWhiteList);

    public int batchInsertList(@Param("inserPersonalList")List<PersonalWhiteListVO> inserListBatch);

    public int updatePeronalWhite(PersonalWhiteList personalWhiteList);

    public int batchDelPersnalWhiteByExcel(@Param("batchDelPersonalByExcel")List<PersonalWhiteDeleteExcelVO> personalWhiteDelExcelVO );

    int effectiveDate();
}